/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.ez2find.backing;

import com.ez2find.manager.CommunityCategorieManagerLocal;
import com.ez2find.manager.EventCategorieManagerLocal;
import com.ez2find.manager.GigCategorieManagerLocal;
import com.ez2find.manager.HousCategorieManagerLocal;
import com.ez2find.manager.JobCategorieManagerLocal;
import com.ez2find.manager.PersonalCategorieManagerLocal;
import com.ez2find.manager.SaleCategorieManagerLocal;
import com.ez2find.manager.ServiceCategorieManagerLocal;
import com.ez2find.model.CategoriaComunidad;
import com.ez2find.model.CategoriaEvento;
import com.ez2find.model.CategoriaTemporal;
import com.ez2find.model.CategoriaInmobiliario;
import com.ez2find.model.CategoriaTrabajo;
import com.ez2find.model.CategoriaPersonal;
import com.ez2find.model.CategoriaVenta;
import com.ez2find.model.CategoriaServicio;
import com.ez2find.manager.SiteManagerLocal;
import com.ez2find.manager.AreaManagerLocal;
import com.ez2find.model.Site;
import com.ez2find.util.SessionContext;
import java.util.List;
import javax.ejb.EJB;

/**
 *
 * @author Owner
 */
public class AdminBean {

    @EJB
    private JobCategorieManagerLocal ejbJobCategorieManager;
    @EJB
    private HousCategorieManagerLocal ejbHousCategorieManager;
    @EJB
    private SaleCategorieManagerLocal ejbSaleCategorieManager;
    @EJB
    private GigCategorieManagerLocal ejbGigCategorieManager;
    @EJB
    private ServiceCategorieManagerLocal ejbServiceCategorieManager;
    @EJB
    private CommunityCategorieManagerLocal ejbCommunityCategorieManager;
    @EJB
    private PersonalCategorieManagerLocal ejbPersonalCategorieManager;
    @EJB
    private EventCategorieManagerLocal ejbEventCategorieManager;
    @EJB
    private SiteManagerLocal ejbSiteManager;
    @EJB
    private AreaManagerLocal ejbAreaManager;
    private long areaId;

    public List<CategoriaTrabajo> getJobCategories() {
        return ejbJobCategorieManager.listAll();
    }

    public List<CategoriaInmobiliario> getHousCategories() {
        return ejbHousCategorieManager.listAll();
    }

    public List<CategoriaVenta> getSaleCategories() {
        return ejbSaleCategorieManager.listAll();
    }

    public List<CategoriaTemporal> getGigCategories() {
        return ejbGigCategorieManager.listAll();
    }

    public List<CategoriaServicio> getServiceCategories() {
        return ejbServiceCategorieManager.listAll();
    }

    public List<CategoriaComunidad> getCommunityCategories() {
        return ejbCommunityCategorieManager.listAll();
    }

    public List<CategoriaPersonal> getPersonalCategories() {
        return ejbPersonalCategorieManager.listAll();
    }

    public List<CategoriaEvento> getEventCategories() {
        return ejbEventCategorieManager.listAll();
    }
    
    public List<Site> getlistAll() {
        return ejbSiteManager.listAll();
    }
    
    public long getAreaId() {
        SessionBean sessionBean = (SessionBean) SessionContext.getAttribute("sessionBean");
        if (areaId == 0 && sessionBean.getEjbSession().getCurrentArea() != null) {
            areaId = sessionBean.getEjbSession().getCurrentArea().getId();
        }
        return areaId;
    }

    public void setAreaId(long areaId) {
        this.areaId = areaId;
    }

    public void changeCurrentArea() {
        try {
            SessionBean sessionBean = (SessionBean) SessionContext.getAttribute("sessionBean");
            if (areaId != 0) {
                sessionBean.getEjbSession().setCurrentArea(ejbAreaManager.find(areaId));
            } else {
                sessionBean.getEjbSession().setCurrentArea(null);
            }
        } catch (Exception ex) {
        }
    }
    
    public String adminCategories() {
        SessionContext.removeAttribute("UsersBean");
        SessionContext.removeAttribute("categorieBean");
        SessionContext.removeAttribute("FlagedPostsBean");
        SessionContext.removeAttribute("siteBean");
        SessionContext.removeAttribute("BackupBean");
        return "adminCategories";
    }
    
    public String adminUsers() {
        SessionContext.removeAttribute("UsersBean");
        SessionContext.removeAttribute("categorieBean");
        SessionContext.removeAttribute("FlagedPostsBean");
        SessionContext.removeAttribute("siteBean");
        SessionContext.removeAttribute("BackupBean");
        return "adminUsers";
    }
    
    public String adminFPostings() {
        SessionContext.removeAttribute("UsersBean");
        SessionContext.removeAttribute("categorieBean");
        SessionContext.removeAttribute("FlagedPostsBean");
        SessionContext.removeAttribute("siteBean");
        SessionContext.removeAttribute("BackupBean");
        return "adminFPostings";
    }
    
    public String adminSites() {
        SessionContext.removeAttribute("UsersBean");
        SessionContext.removeAttribute("categorieBean");
        SessionContext.removeAttribute("FlagedPostsBean");
        SessionContext.removeAttribute("siteBean");
        SessionContext.removeAttribute("BackupBean");
        return "adminSites";
    }
    
    public String adminBackups() {
        SessionContext.removeAttribute("UsersBean");
        SessionContext.removeAttribute("categorieBean");
        SessionContext.removeAttribute("FlagedPostsBean");
        SessionContext.removeAttribute("siteBean");
        SessionContext.removeAttribute("BackupBean");
        return "adminBackups";
    }
    
    public String backWelcome() {
        SessionContext.removeAttribute("UsersBean");
        SessionContext.removeAttribute("categorieBean");
        SessionContext.removeAttribute("FlagedPostsBean");
        SessionContext.removeAttribute("siteBean");
        SessionContext.removeAttribute("BackupBean");
        return "backWelcome";
    }
    
    public String backControlPanel() {
        SessionContext.removeAttribute("UsersBean");
        SessionContext.removeAttribute("categorieBean");
        SessionContext.removeAttribute("FlagedPostsBean");
        SessionContext.removeAttribute("siteBean");
        SessionContext.removeAttribute("BackupBean");
        return "backControlPanel";
    }
    
    public String backHomeUser() {
        SessionContext.removeAttribute("UsersBean");
        SessionContext.removeAttribute("categorieBean");
        SessionContext.removeAttribute("FlagedPostsBean");
        SessionContext.removeAttribute("siteBean");
        SessionContext.removeAttribute("BackupBean");
        return "backHomeUser";
    }
}
